Commit graph

4 commits

Author SHA1 Message Date
Michael Winter 8f73a3388e Clean up navigation links with hover underline
- Add hover:underline to header nav links
- Add hover:underline to works links
- Rename /work/ route to /works/
- Include works.json manual tweak
2026-03-06 15:49:29 +01:00
Michael Winter 6ffe5aa1fc Add work pages with hash-based modal URLs and proper 404 handling
- Create dedicated /work/[slug] pages with sticky nav
- Use hash URLs (#type|slug) for modals instead of work page URLs
- Make works without items non-clickable on index
- Add server route to return 404 for non-existent score files
2026-03-06 15:08:30 +01:00
Michael Winter 635cbe0482 Add shareable work pages with modal support
- Create IndexContent component to avoid code duplication
- Score icon links to /work/[slug] with clean URLs
- Modal opens automatically via slug prop (works with SSR)
- Crawler finds and prerenders all /work/ pages (145 routes)
- Work page redirects to / when modal closes
- Single source of truth for data fetching in IndexContent
2026-03-06 10:23:45 +01:00
Michael Winter 9af20c1e5d Add shareable URLs for works with scores
- Score icon updates URL to /?work=[slug] without navigation
- Modal closes to reset URL back to /
- Direct /work/[slug] access redirects to /?work=[slug]
- Index page opens modal when ?work= query param is present
- Works with SSG/prerendering for /?work= routes
2026-03-06 09:19:25 +01:00